ASSIGNMENT 2021/2022: NETWORKED SIR MODEL

Il modello SIR permette di studiare la diffusione di una malattia in una rete sociale. La popolazione viene divisa in 3 classi:

 S: il numero di individui sani, suscettibili di essere infettati;
 I: il numero di individui infetti;
 R: il numero di individui rimessi, guariti o morti (in entrambi i casi non ci si può reinfettare).

N definisce la somma di tutti gli individui, quindi la popolazione totale, che è costante. Si considera inoltre una probabilità beta di contagio e una probabilità gamma di passare da infetto a rimesso. Schermata%202022-01-15%20alle%2015.26.37.png

1) NETWORKED SIR

In modello SIR può essere implementato in un network sociale.

Si suppone che:

 1: non vi sia tempo di incubazione;
 2: il contagio avvenga, con una probabilità Beta, per contatto diretto;
 3: ogni individuo malato abbia una probabilita di guarigione costante per unita di tempo.

Inoltre si presume che ogni individuo abbia la stessa possibilità, per unità di tempo, di entrare in contatto con ogni altro; ogni persona si mescola e si incontra completamente a caso in questo modello.

E' possibile eventualmente implementare diversi tipi di network randomici che simulano parzialmente la rete sociale. Un esempio potrebbe essere il network Erdős-Rényi in cui ogni nodo ha una determinata probabilità di avere un link.

Nel network, inoltre, ogni nodo rappresenta una persona mentre gli edges tra i nodi sono i link tra le persone. Per essere contagiata una persona di tipo S deve avere, necessariamente, un edge con un infetto. In ogni iterazione i vicini di un infetto sono contagiati con una certa probabilità (Beta), mentre gli infetti diventano rimessi con una probabilità gamma. Diversamente dal modello classico con le equazioni, la struttura del network influenza il propagarsi della malattia.

In questo programma ho utilizzato inoltre la matrice di adiacenza e non l'edge list (che sarebbe più efficiente), perchè ho voluto considerare network soprattutto densi e con un numero di persone non maggiore di 100, in quanto, in questo caso, la rete si vedrebbe in modo confuso a causa della risoluzione e della dimensione limitata delle immagini.

Il modello sir può essere visualizzato anche in altri modi:

2) SIR TEORICO CON GRAFICO IN FUNZIONE DEL TEMPO


Se si considerano le equazioni che caratterizzano questo modello è possibile automatizzare la risoluzione del sistema di equazioni differenziali e poi stamparle in un grafico time-dependent.

Questa parte di codice sfrutta la funzione 'odeint' di scipy per risolvere le equazioni differenziali del SIR e poi plotta il grafico tipico.

3) EoN library

4) PYGAME